package space

import (
	"time"

	. "gitee.com/night-tc/gobige/entity"
	"gitee.com/night-tc/gobige/space/pathfinder"
	"gitee.com/night-tc/gobige/timerwheel"
)

var _ ISpace = &Space{}

/*
场景基础
*/
type Space struct {
	/* 组合 */
	SimpleEntity
	DelayCallHost
	//对象管理器
	*Entities

	/* 属性 */

	MapID uint64 //地图ID
	//地图名字
	MapName string
	// 地图唯一标识，空表示独立，有值的话，使用相同引用，这个逻辑由业务决定
	MapKey string

	//场景开始时间
	StartTime time.Time

	//后代对象
	realPtr ISpace

	/* 管理器 */

	//时间轮
	Timer *timerwheel.Timer
	//寻路算法有关
	PathFindermgr pathfinder.IPathFinder
}

// GetEntityID 获取实体ID
func (this *Space) GetEntityID() uint64 {
	return this.SimpleEntity.GetEntityID()
}
